(1) Field of the Invention
The present invention relates to a multithreaded processor which efficiently uses computing units by issuing instructions of instruction streams in parallel.
(2) Description of the Related Art
When media processing including compression and decompression of digitized video data and audio data is performed, the computation amount becomes very large. Thus, for performing such media processing, special-purpose hardware, high-performance Digital Signal Processor (DSP), and the like are becoming widely available.
In the media processing, many kinds of standards, such as Moving Picture Experts Group (MPEG) 2, MPEG4, H.263, and H.264 are in practical use. Thus, digital Audio-Visual (AV) devices need to support requirements in diverse media processing of different standards. Furthermore, complexity of each media processing is increasing, and a size of an image, the number of channels of audio, and the like are increasing, which further increase the computation amount.
Under these circumstances, a method for installing special-purpose hardware for performing the aforementioned media processing, and a method for realizing flexible processing depending on software are used.
Although it is possible to realize high-performance processing using the method for installing special-purpose hardware, there is a problem that a circuit scale is increased when the number of functions to be realized is many. Furthermore, there is also a problem that it is necessary to install new hardware when adding an additional function.
On the other hand, according to the method for realizing the media processing using software, it is possible to realize multi-functions and to add a function easily. However, compared to the method for installing special-purpose hardware, the method using software poses a problem in performance.
For this problem, performance is being improved using a high-performance multithreaded processor having the improved computation efficiency by executing programs in parallel (for example, refer to “A Multithreaded Processor Architecture with Simultaneous Instruction Issuing,” In SUPERCOMPUTER, 49, volume IX, number 3, May 1992).
However, in the method for realizing the media processing using such multithreaded processor, there exists a problem of allocating performance to plural programs.
More specifically, since time allocated to a thread for video processing and to a thread for audio processing becomes short, the video processing and the audio processing are not performed in time. Thus, there exists a problem of frame dropping from video and sound skipping from audio.
Thus, it is necessary to guarantee that processing on a thread requiring real-time performance is completed within a certain period of time. For this, it is necessary to accurately estimate processing time required in each thread.